#version 330 core
layout(location = 0) in vec3 vertex; // vertex (x, y, z)
layout(location = 1) in vec3 normal; // normal vector
layout(location = 2) in vec2 texture_coord; // texture coord (x, y)

out vec2 tex_coords;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

void main() {
  tex_coords = texture_coord;
  gl_Position = projection * view * model * vec4(vertex, 1.0);
}